package org.goat.caprabank.client;

import org.goat.caprabank.shared.CaprabankException;
import org.goat.caprabank.shared.entity.User;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface BankServiceAsync {

	void login(String username, String password, AsyncCallback<User> callback);

	void register(String firstName, String lastName, String email, String username, String password, AsyncCallback<User> callback) throws CaprabankException;

	void logout(AsyncCallback<Void> callback);

	void getDetails(AsyncCallback<User> callback);

	void transfer(long toAccount, long amount, String comment, AsyncCallback<User> callback);

}
